July 27, 2020
pip install djangodjango-admin startproject <Project name>python [manage.py](http://manage.py) startapp <App name>
manage.py가 있는지 확인INSTALLED_APPS 내에 등록되어야 한다.Application 등록 시 해당 Application의 설정 클래스를 등록하여야 하며 경로는 다음과 같다.
<Project directory>/<Application directory>/app.pyINSTALLED_APPS에 등록시 경로는 다음과 같이 한다.
'<Application name>.apps.<App setting class name>'DEBUG변수의 값을 False로 주어 운영모드로 전환시켜야 한다.ALLOWED_HOST의 값으로 서버의 ip주소를 할당해줘야 한다.ALLOWED_HOST의 값은 아무 값을 할당하지 않아도 기본적으로 localhost이다.Client로 부터 전달받은 **URL을 view함수와 연결시켜주는 역할**URL은 urlpatterns내 path함수로 정의 되어야 한다.path( "URL", views.<func name> or <method name>)from django.urls import path
from .views import MainView # views.py의 MainView 클래스를 사용함
urlpatterns = [
path('', MainView.as_view()) # path 설정
]💡as_view method
class형 view에서class로 진입하기 위한 진입 method이다. 또한 호출을 한http method가GET인지POST인지DELETE인지PUT인지 판별해서 그에 맞는 함수를 실행 시켜 준다.
urls.py 와 연결된 함수 또는 메서드가 실제 작성되는 파일로 로직을 담당하는 파일Template에게 Client에게 보여질 페이지를 전달하는 역할도 하며 잘못된 url로 접근 시 에러 메시지를 반환하는 역할도 한다.urls.py내 path함수에 정의된 이름과 동일하게 작성되어야 한다.import json # json 데이터를 처리하기 위해 사용
from django.views import View # django 프레임 워크에 내장된 view 클래스 사용
from django.http import JsonResponse # Json으로 response 하기 위해 사용
class MainView(View): # django의 내장 view 클래스를 상속받음
def get(self, request):
return JsonResponse({"Hello":"World"}, status=200)Database의 Table을 정의하는 파일class를 이용하여 Table 를 생성 하게 된다.💡 Class를 통한 Table 생성
Table을 만들기 위해서class는 반드시models.Model을 상속받아야 한다.
class TableName(models.Model)
Field의 정의는class내에서 이루어 지며Field Name = model.datatype(option)으로 정의한다.
class Users(models.Model):
# Field Name = models.datatype(option)
name = models.CharField(max_length = 50)
email = models.CharField(max_length = 50)
password = models.CharField(max_length = 300)
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)models.py에서 정의한 Table 구조를 manage.py의 makemigrations 옵션을 통해 생성되는 파일이 저장되는 디렉토리